45 research outputs found

    Preemptive type checking in dynamically typed programs

    No full text
    With the rise of languages such as JavaScript, dynamically typed languages have gained a strong foothold in the programming language landscape. These languages are very well suited for rapid prototyping and for use with agile programming methodologies. However, programmers would benefit from the ability to detect type errors in their code early, without imposing unnecessary restrictions on their programs.Here we describe a new type inference system that identifies potential type errors through a flow-sensitive static analysis. This analysis is invoked at a very late stage, after the compilation to bytecode and initialisation of the program. It computes for every expression the variable’s present (from the values that it has last been assigned) and future (with which it is used in the further program execution) types, respectively. Using this information, our mechanism inserts type checks at strategic points in the original program. We prove that these checks, inserted as early as possible, preempt type errors earlier than existing type systems. We further show that these checks do not change the semantics of programs that do not raise type errors.Preemptive type checking can be added to existing languages without the need to modify the existing runtime environment. We show this with an implementation for the Python language and demonstrate its effectiveness on a number of benchmarks

    JEqualityGen: Generating Equality and Hashing Methods

    No full text
    Manually implementing equals (for object comparisons) and hashCode (for object hashing) methods in large software projects is tedious and error-prone. This is due to many special cases, such as field shadowing, comparison between different types, or cyclic object graphs. Here, we present JEqualityGen, a source code generator that automatically derives implementations of these methods. JEqualityGen proceeds in two states: it first uses source code reflection in MetaAspectJ to generate aspects that contain the method implementations, before it uses weaving on the bytecode level to insert these into the target application. JEqualityGen generates not only correct, but efficient source code that on a typical large-scale Java application exhibits a performance improvement of more than two orders of magnitude in the equality operations generated, compared to an existing system based on runtime reflection. JEqualityGen achieves this by generating runtime profiling code that collects data. This enables it to generate optimised method implementations in a second round

    The influence of innate and adaptive immunity on Crohn’s disease severity

    Get PDF
    This article was originally published in a special issue, entitled: "Inflammatory Bowel Disease", Edited by Nancy Louis, Emory University, USA and Ostanin Dmitry Vladimirovich, Louisiana State University Health Sciences Center, USAStricturing and penetrating disease are classified as severe Crohn’s disease types and are frequently associated with an increased risk for bowel surgery. Research has shown that early treatment with aggressive immunosuppression (including biological and thiopurine therapies – the so-called “top-down approach”) results in a diminished risk of developing these complicated disease types. However, these therapies carry significant risks and cost. Being able to predict which patients are at an increased risk of developing severe Crohn’s disease may enable us to treat patients individually, with the aggressive “top-down approach” started at diagnosis in patients with a significantly increased risk of developing complicated disease types. Defects of innate and adaptive immunity both play a role in Crohn’s disease pathophysiology. Identifying whether defects of innate immunity (through gene mutations) or adaptive immunity (through antibodies to microbial antigens) are associated with stricturing/penetrating disease types may enable us to predict the course of the disease and therefore decide on who would benefit most from the “top-down approach”. This review discusses the role of NOD2 and other gene polymorphisms in predicting Crohn’s disease severity. It also highlights the evidence linking the role of the various antibodies involved in adaptive immunity (ASCA, OmpC, GM-CSF) and complicated Crohn’s disease types.peer-reviewe

    Efficient Reflection String Analysis via Graph Coloring

    Get PDF
    Static analyses for reflection and other dynamic language features have recently increased in number and advanced in sophistication. Most such analyses rely on a whole-program model of the flow of strings, through the stack and heap. We show that this global modeling of strings remains a major bottleneck of static analyses and propose a compact encoding, in order to battle unnecessary complexity. In our encoding, strings are maximally merged if they can never serve to differentiate class members in reflection operations. We formulate the problem as an instance of graph coloring and propose a fast polynomial-time algorithm that exploits the unique features of the setting (esp. large cliques, leading to hundreds of colors for realistic programs). The encoding is applied to two different frameworks for string-guided Java reflection analysis from past literature and leads to significant optimization (e.g., a ~2x reduction in the number of string-flow inferences), for a whole-program points-to analysis that uses strings

    Static analysis of energy consumption for LLVM IR programs

    Get PDF
    Energy models can be constructed by characterizing the energy consumed by executing each instruction in a processor's instruction set. This can be used to determine how much energy is required to execute a sequence of assembly instructions, without the need to instrument or measure hardware. However, statically analyzing low-level program structures is hard, and the gap between the high-level program structure and the low-level energy models needs to be bridged. We have developed techniques for performing a static analysis on the intermediate compiler representations of a program. Specifically, we target LLVM IR, a representation used by modern compilers, including Clang. Using these techniques we can automatically infer an estimate of the energy consumed when running a function under different platforms, using different compilers. One of the challenges in doing so is that of determining an energy cost of executing LLVM IR program segments, for which we have developed two different approaches. When this information is used in conjunction with our analysis, we are able to infer energy formulae that characterize the energy consumption for a particular program. This approach can be applied to any languages targeting the LLVM toolchain, including C and XC or architectures such as ARM Cortex-M or XMOS xCORE, with a focus towards embedded platforms. Our techniques are validated on these platforms by comparing the static analysis results to the physical measurements taken from the hardware. Static energy consumption estimation enables energy-aware software development, without requiring hardware knowledge

    Thr300Ala ATG16L1 polymorphisms and bone strength in Crohn’s disease patients

    Get PDF
    Introduction: Studies on the effect of deletion of ATG5 and ATG7 proteins on bone cell function and bone strength in laboratory mice have revealed an association between autophagy and osteoporosis. The effect on bone strength of the Thr300Ala variant (rs2241880 polymorphism) of the ATG16l1 gene, a Crohn’s disease susceptibility gene essential in macroautophagy, has not yet been explored. Methods: 101 Crohn’s disease patients underwent DEXA bone density scanning. Real time PCR, high resolution melt (HRM) and restriction fragment length polymorphism (RFLP) were made use of as to assess for the rs2241880 polymorphism of the ATG16L1 gene in these patients. Results: HRM and RFLP demonstrated that 39.6% had the wild type rs2241880 (Thr300Ala) polymorphism while 7.9% were homozygous and 52.5% were heterozygous for the polymorphism. Mean DEXA bone mineral density scores in these patients showed lower T scores at the hip (1.74) among patients with the homozygous polymorphism than among patients with the heterozygous polymorphism (mean T score hip: -1.29). The highest mean T scores were found in patients with the wild type polymorphism (-1.04). Discussion: This study demonstrates the first evidence that polymorphisms in the ATG16L1 gene may play a role in bone metabolism.peer-reviewe

    Myocarditis in Malta in the COVID-19 vaccination era : a population-based study

    Get PDF
    BACKGROUND: Vaccination against COVID-19 is crucial for controlling this scourge. COVID/vaccination deniers often rationalise their unfounded fears by citing rare vaccination side-effects. One of the most frequently cited side effects is myocarditis, especially in younger persons. Malta has very high vaccination rates. This study was carried out to ascertain whether admissions to hospital for myocarditis changed in any during the vaccination rollout, up to October 2021, when 83.4% of Malta’s population of circa half a million had had their first 1st dose.METHODS: Malta is served by one large regional hospital (Mater Dei Hospital). Anonymous data for admissions with a diagnosis of myocarditis (ICD I40, I41, I51.4) were obtained for 01/2016-10/2021. Myocarditis discharges and 95% confidence intervals were plotted for 2016-2020. Myocarditis discharges for Jan-Oct 2021 were plotted separately.RESULTS: There were no outlier values for myocarditis discharges in either direction for any age for any of the two sexes.CONCLUSION: Myocarditis, independent of vaccination, is commonest in young males, half resolving and some developing dilated cardiomyopathy, possibly leading to transplantation or death. The ongoing mass vaccination with novel messenger RNA vaccines resulted in reports of myocarditis in male teens, this being a rare side effect. The lack of significantly increased rates of myocarditis admission in any age age/sex group in Malta confirms that only rarely, myocarditis may be temporally associated with COVID vaccination which almost invariably runs a benign course and that this risk is very low, far lower than myocarditis due to actual COVID infection.peer-reviewe

    Maternal factors and the male to female birth ratio in Malta

    Get PDF
    Introduction: The sex ratio at birth is commonly calculated as the total male live births divided by all live births, and is represented as M/F. A multitude of factors influence M/F, especially stress, which increases male foetal losses during pregnancy. This study was carried out in order to ascertain whether any maternal or perinatal relevant factors influenced M/F in Malta. Methods: National Obstetric Information System data was used for the period 2012-2015. Non-Maltese mothers were excluded. Factors analysed were maternal age, marital status, education, body mass index, regularity of menses, utilisation of assisted reproductive technology, previous diabetes mellitus, previous miscarriages, abortions, ectopic pregnancies, vaginal deliveries, caesarean sections, livebirths, early and late neonatal deaths, stillbirths and premature deliveries. Intra-partum conditions included infection, cardiovascular disorders and all forms of diabetes mellitus. Results: This study analysed 14498 births. None of the above mentioned variables was significantly linked to the M/F ratio. Discussion: Our dataset failed to find any variables that influenced M/F, including stressing variables. However our study may have been underpowered due to the small numbers of births and the relative rarity of the various conditions. Alternatively, in Malta, such variables may produce little or no stress due to hitherto unknown mitigating factor/s.peer-reviewe
    corecore